Pbootcms中tag标签页分页中url会无限重复叠加的修复方案
场景复现
最近在对pbootcms的TAG标签的深度使用中,发现了一个BUG:
在tag相关结果的列表中使用了的分页代码的话,点击分页地址栏会无限叠加参数。
在使用了target=tag参数的情况下,就会发生该情况。
如下:http://www.dedexuexi.com/tag/PB教程?PB教程&PB教程&PB教程&page=2
这样肯定是不行的,必须要解决。
解决方案
很明显,这个BUG出现在pbootcms的分页代码中。我们找到core\view\Paging.php文件,找到:buildBasicPage这个方法;
在这个方法找到如下代码:
$qs = preg_replace('/[&\?]?page=([0-9]+)?/i', '', $qs);
在下方加入一个判断:
if( C=='Tag' ){ //@cms88 优化 TAG分页 URL地址叠加 $qs = false; }
即:当前是tag控制器的时候,默认不要带上URL参数就可以了。
这样,BUG轻松修复。
没看明白的等官方修复,着急的可以按上述方法来解决问题。
毕竟这个功能也是冷门需求。一年用不到一次。
暂时还没有做深度的检测,理论上是OK的。
本文链接:https://hwkj.net/zixing/548.html
Tags: